home *** CD-ROM | disk | FTP | other *** search
/ OpenGL Superbible (2nd Edition) / OpenGL SuperBible e2.iso / tools / FLTK-1.0.6 / test / keyboard_ui.cxx < prev    next >
Encoding:
C/C++ Source or Header  |  1999-09-27  |  19.1 KB  |  560 lines

  1. // generated by Fast Light User Interface Designer (fluid) version 1.00
  2.  
  3. #include "keyboard_ui.h"
  4.  
  5. Fl_Output *key_output=(Fl_Output *)0;
  6.  
  7. Fl_Output *text_output=(Fl_Output *)0;
  8.  
  9. Fl_Window* make_window() {
  10.   Fl_Window* w;
  11.   { Fl_Window* o = new Fl_Window(494, 193);
  12.     w = o;
  13.     { Fl_Button* o = new Fl_Button(15, 50, 20, 20, "Esc ");
  14.       o->labelsize(8);
  15.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Escape));
  16.     }
  17.     { Fl_Button* o = new Fl_Button(50, 50, 20, 20, "F1");
  18.       o->labelsize(10);
  19.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+1));
  20.     }
  21.     { Fl_Button* o = new Fl_Button(70, 50, 20, 20, "F2");
  22.       o->labelsize(10);
  23.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+2));
  24.     }
  25.     { Fl_Button* o = new Fl_Button(90, 50, 20, 20, "F3");
  26.       o->labelsize(10);
  27.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+3));
  28.     }
  29.     { Fl_Button* o = new Fl_Button(110, 50, 20, 20, "F4");
  30.       o->labelsize(10);
  31.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+4));
  32.     }
  33.     { Fl_Button* o = new Fl_Button(140, 50, 20, 20, "F5");
  34.       o->labelsize(10);
  35.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+5));
  36.     }
  37.     { Fl_Button* o = new Fl_Button(160, 50, 20, 20, "F6");
  38.       o->labelsize(10);
  39.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+6));
  40.     }
  41.     { Fl_Button* o = new Fl_Button(180, 50, 20, 20, "F7");
  42.       o->labelsize(10);
  43.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+7));
  44.     }
  45.     { Fl_Button* o = new Fl_Button(200, 50, 20, 20, "F8");
  46.       o->labelsize(10);
  47.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+8));
  48.     }
  49.     { Fl_Button* o = new Fl_Button(230, 50, 20, 20, "F9");
  50.       o->labelsize(10);
  51.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+9));
  52.     }
  53.     { Fl_Button* o = new Fl_Button(250, 50, 20, 20, "F10");
  54.       o->labelsize(10);
  55.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+10));
  56.     }
  57.     { Fl_Button* o = new Fl_Button(270, 50, 20, 20, "F11");
  58.       o->labelsize(10);
  59.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+11));
  60.     }
  61.     { Fl_Button* o = new Fl_Button(290, 50, 20, 20, "F12");
  62.       o->labelsize(10);
  63.       o->callback((Fl_Callback*)key_cb, (void*)(FL_F+12));
  64.     }
  65.     { Fl_Button* o = new Fl_Button(325, 50, 20, 20, "Print ");
  66.       o->labelsize(8);
  67.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Print));
  68.     }
  69.     { Fl_Button* o = new Fl_Button(345, 50, 20, 20, "Sclk ");
  70.       o->labelsize(8);
  71.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Scroll_Lock));
  72.     }
  73.     { Fl_Button* o = new Fl_Button(365, 50, 20, 20, "Paus ");
  74.       o->labelsize(8);
  75.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Pause));
  76.     }
  77.     { Fl_Button* o = new Fl_Button(15, 80, 20, 20, "`");
  78.       o->labelsize(10);
  79.       o->callback((Fl_Callback*)key_cb);
  80.     }
  81.     { Fl_Button* o = new Fl_Button(35, 80, 20, 20, "1");
  82.       o->labelsize(10);
  83.       o->callback((Fl_Callback*)key_cb);
  84.     }
  85.     { Fl_Button* o = new Fl_Button(55, 80, 20, 20, "2");
  86.       o->labelsize(10);
  87.       o->callback((Fl_Callback*)key_cb);
  88.     }
  89.     { Fl_Button* o = new Fl_Button(75, 80, 20, 20, "3");
  90.       o->labelsize(10);
  91.       o->callback((Fl_Callback*)key_cb);
  92.     }
  93.     { Fl_Button* o = new Fl_Button(95, 80, 20, 20, "4");
  94.       o->labelsize(10);
  95.       o->callback((Fl_Callback*)key_cb);
  96.     }
  97.     { Fl_Button* o = new Fl_Button(115, 80, 20, 20, "5");
  98.       o->labelsize(10);
  99.       o->callback((Fl_Callback*)key_cb);
  100.     }
  101.     { Fl_Button* o = new Fl_Button(135, 80, 20, 20, "6");
  102.       o->labelsize(10);
  103.       o->callback((Fl_Callback*)key_cb);
  104.     }
  105.     { Fl_Button* o = new Fl_Button(155, 80, 20, 20, "7");
  106.       o->labelsize(10);
  107.       o->callback((Fl_Callback*)key_cb);
  108.     }
  109.     { Fl_Button* o = new Fl_Button(175, 80, 20, 20, "8");
  110.       o->labelsize(10);
  111.       o->callback((Fl_Callback*)key_cb);
  112.     }
  113.     { Fl_Button* o = new Fl_Button(195, 80, 20, 20, "9");
  114.       o->labelsize(10);
  115.       o->callback((Fl_Callback*)key_cb);
  116.     }
  117.     { Fl_Button* o = new Fl_Button(215, 80, 20, 20, "0");
  118.       o->labelsize(10);
  119.       o->callback((Fl_Callback*)key_cb);
  120.     }
  121.     { Fl_Button* o = new Fl_Button(235, 80, 20, 20, "-");
  122.       o->labelsize(10);
  123.       o->callback((Fl_Callback*)key_cb);
  124.     }
  125.     { Fl_Button* o = new Fl_Button(255, 80, 20, 20, "=");
  126.       o->labelsize(10);
  127.       o->callback((Fl_Callback*)key_cb);
  128.     }
  129.     { Fl_Button* o = new Fl_Button(275, 80, 35, 20, "Bksp");
  130.       o->labeltype(FL_SYMBOL_LABEL);
  131.       o->labelsize(8);
  132.       o->callback((Fl_Callback*)key_cb, (void*)(FL_BackSpace));
  133.       o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
  134.     }
  135.     { Fl_Button* o = new Fl_Button(325, 80, 20, 20, "Ins ");
  136.       o->labelsize(8);
  137.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Insert));
  138.     }
  139.     { Fl_Button* o = new Fl_Button(345, 80, 20, 20, "Home");
  140.       o->labelsize(8);
  141.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Home));
  142.     }
  143.     { Fl_Button* o = new Fl_Button(365, 80, 20, 20, "pgup ");
  144.       o->labelsize(8);
  145.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Page_Up));
  146.     }
  147.     { Fl_Button* o = new Fl_Button(400, 80, 20, 20, "Num");
  148.       o->labelsize(8);
  149.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Num_Lock));
  150.     }
  151.     { Fl_Button* o = new Fl_Button(420, 80, 20, 20, "/");
  152.       o->labelsize(10);
  153.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'/'));
  154.     }
  155.     { Fl_Button* o = new Fl_Button(440, 80, 20, 20, "*");
  156.       o->labelsize(10);
  157.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'*'));
  158.     }
  159.     { Fl_Button* o = new Fl_Button(460, 80, 20, 20, "-");
  160.       o->labelsize(10);
  161.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'-'));
  162.     }
  163.     { Fl_Button* o = new Fl_Button(15, 100, 27, 20, "Tab");
  164.       o->labelsize(8);
  165.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Tab));
  166.       o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
  167.     }
  168.     { Fl_Button* o = new Fl_Button(42, 100, 20, 20, "Q");
  169.       o->labelsize(10);
  170.       o->callback((Fl_Callback*)key_cb);
  171.     }
  172.     { Fl_Button* o = new Fl_Button(62, 100, 20, 20, "W");
  173.       o->labelsize(10);
  174.       o->callback((Fl_Callback*)key_cb);
  175.     }
  176.     { Fl_Button* o = new Fl_Button(82, 100, 20, 20, "E");
  177.       o->labelsize(10);
  178.       o->callback((Fl_Callback*)key_cb);
  179.     }
  180.     { Fl_Button* o = new Fl_Button(102, 100, 20, 20, "R");
  181.       o->labelsize(10);
  182.       o->callback((Fl_Callback*)key_cb);
  183.     }
  184.     { Fl_Button* o = new Fl_Button(122, 100, 20, 20, "T");
  185.       o->labelsize(10);
  186.       o->callback((Fl_Callback*)key_cb);
  187.     }
  188.     { Fl_Button* o = new Fl_Button(142, 100, 20, 20, "Y");
  189.       o->labelsize(10);
  190.       o->callback((Fl_Callback*)key_cb);
  191.     }
  192.     { Fl_Button* o = new Fl_Button(162, 100, 20, 20, "U");
  193.       o->labelsize(10);
  194.       o->callback((Fl_Callback*)key_cb);
  195.     }
  196.     { Fl_Button* o = new Fl_Button(182, 100, 20, 20, "I");
  197.       o->labelsize(10);
  198.       o->callback((Fl_Callback*)key_cb);
  199.     }
  200.     { Fl_Button* o = new Fl_Button(202, 100, 20, 20, "O");
  201.       o->labelsize(10);
  202.       o->callback((Fl_Callback*)key_cb);
  203.     }
  204.     { Fl_Button* o = new Fl_Button(222, 100, 20, 20, "P");
  205.       o->labelsize(10);
  206.       o->callback((Fl_Callback*)key_cb);
  207.     }
  208.     { Fl_Button* o = new Fl_Button(242, 100, 20, 20, "[");
  209.       o->labelsize(10);
  210.       o->callback((Fl_Callback*)key_cb);
  211.     }
  212.     { Fl_Button* o = new Fl_Button(262, 100, 20, 20, "]");
  213.       o->labelsize(10);
  214.       o->callback((Fl_Callback*)key_cb);
  215.     }
  216.     { Fl_Button* o = new Fl_Button(282, 100, 28, 20, "\\");
  217.       o->labelsize(10);
  218.       o->callback((Fl_Callback*)key_cb, (void*)('|'));
  219.       o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
  220.     }
  221.     { Fl_Button* o = new Fl_Button(325, 100, 20, 20, "Del ");
  222.       o->labelsize(8);
  223.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Delete));
  224.     }
  225.     { Fl_Button* o = new Fl_Button(345, 100, 20, 20, "End ");
  226.       o->labelsize(8);
  227.       o->callback((Fl_Callback*)key_cb, (void*)(FL_End));
  228.     }
  229.     { Fl_Button* o = new Fl_Button(365, 100, 20, 20, "pgdn ");
  230.       o->labelsize(8);
  231.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Page_Down));
  232.     }
  233.     { Fl_Button* o = new Fl_Button(400, 100, 20, 20, "7");
  234.       o->labelsize(10);
  235.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'7'));
  236.     }
  237.     { Fl_Button* o = new Fl_Button(420, 100, 20, 20, "8");
  238.       o->labelsize(10);
  239.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'8'));
  240.     }
  241.     { Fl_Button* o = new Fl_Button(440, 100, 20, 20, "9");
  242.       o->labelsize(10);
  243.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'9'));
  244.     }
  245.     { Fl_Button* o = new Fl_Button(460, 100, 20, 40, "+");
  246.       o->labelsize(10);
  247.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'+'));
  248.       o->align(FL_ALIGN_TOP|FL_ALIGN_INSIDE);
  249.     }
  250.     { Fl_Button* o = new Fl_Button(15, 120, 36, 20, "Lock");
  251.       o->labelsize(8);
  252.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Caps_Lock));
  253.       o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
  254.     }
  255.     { Fl_Button* o = new Fl_Button(51, 120, 20, 20, "A");
  256.       o->labelsize(10);
  257.       o->callback((Fl_Callback*)key_cb);
  258.     }
  259.     { Fl_Button* o = new Fl_Button(71, 120, 20, 20, "S");
  260.       o->labelsize(10);
  261.       o->callback((Fl_Callback*)key_cb);
  262.     }
  263.     { Fl_Button* o = new Fl_Button(91, 120, 20, 20, "D");
  264.       o->labelsize(10);
  265.       o->callback((Fl_Callback*)key_cb);
  266.     }
  267.     { Fl_Button* o = new Fl_Button(111, 120, 20, 20, "F");
  268.       o->labelsize(10);
  269.       o->callback((Fl_Callback*)key_cb);
  270.     }
  271.     { Fl_Button* o = new Fl_Button(131, 120, 20, 20, "G");
  272.       o->labelsize(10);
  273.       o->callback((Fl_Callback*)key_cb);
  274.     }
  275.     { Fl_Button* o = new Fl_Button(151, 120, 20, 20, "H");
  276.       o->labelsize(10);
  277.       o->callback((Fl_Callback*)key_cb);
  278.     }
  279.     { Fl_Button* o = new Fl_Button(171, 120, 20, 20, "J");
  280.       o->labelsize(10);
  281.       o->callback((Fl_Callback*)key_cb);
  282.     }
  283.     { Fl_Button* o = new Fl_Button(191, 120, 20, 20, "K");
  284.       o->labelsize(10);
  285.       o->callback((Fl_Callback*)key_cb);
  286.     }
  287.     { Fl_Button* o = new Fl_Button(211, 120, 20, 20, "L");
  288.       o->labelsize(10);
  289.       o->callback((Fl_Callback*)key_cb);
  290.     }
  291.     { Fl_Button* o = new Fl_Button(231, 120, 20, 20, ";");
  292.       o->labelsize(10);
  293.       o->callback((Fl_Callback*)key_cb);
  294.     }
  295.     { Fl_Button* o = new Fl_Button(251, 120, 20, 20, "\'");
  296.       o->labelsize(10);
  297.       o->callback((Fl_Callback*)key_cb);
  298.     }
  299.     { Fl_Button* o = new Fl_Button(271, 120, 39, 20, "Enter");
  300.       o->labelsize(8);
  301.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Enter));
  302.       o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
  303.     }
  304.     { Fl_Button* o = new Fl_Button(400, 120, 20, 20, "4");
  305.       o->labelsize(10);
  306.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'4'));
  307.     }
  308.     { Fl_Button* o = new Fl_Button(420, 120, 20, 20, "5");
  309.       o->labelsize(10);
  310.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'5'));
  311.     }
  312.     { Fl_Button* o = new Fl_Button(440, 120, 20, 20, "6");
  313.       o->labelsize(10);
  314.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'6'));
  315.     }
  316.     { Fl_Button* o = new Fl_Button(15, 140, 45, 20, "Shift");
  317.       o->labelsize(8);
  318.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Shift_L));
  319.       o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
  320.     }
  321.     { Fl_Button* o = new Fl_Button(60, 140, 20, 20, "Z");
  322.       o->labelsize(10);
  323.       o->callback((Fl_Callback*)key_cb);
  324.     }
  325.     { Fl_Button* o = new Fl_Button(80, 140, 20, 20, "X");
  326.       o->labelsize(10);
  327.       o->callback((Fl_Callback*)key_cb);
  328.     }
  329.     { Fl_Button* o = new Fl_Button(100, 140, 20, 20, "C");
  330.       o->labelsize(10);
  331.       o->callback((Fl_Callback*)key_cb);
  332.     }
  333.     { Fl_Button* o = new Fl_Button(120, 140, 20, 20, "V");
  334.       o->labelsize(10);
  335.       o->callback((Fl_Callback*)key_cb);
  336.     }
  337.     { Fl_Button* o = new Fl_Button(140, 140, 20, 20, "B");
  338.       o->labelsize(10);
  339.       o->callback((Fl_Callback*)key_cb);
  340.     }
  341.     { Fl_Button* o = new Fl_Button(160, 140, 20, 20, "N");
  342.       o->labelsize(10);
  343.       o->callback((Fl_Callback*)key_cb);
  344.     }
  345.     { Fl_Button* o = new Fl_Button(180, 140, 20, 20, "M");
  346.       o->labelsize(10);
  347.       o->callback((Fl_Callback*)key_cb);
  348.     }
  349.     { Fl_Button* o = new Fl_Button(200, 140, 20, 20, ",");
  350.       o->labelsize(10);
  351.       o->callback((Fl_Callback*)key_cb);
  352.     }
  353.     { Fl_Button* o = new Fl_Button(220, 140, 20, 20, ".");
  354.       o->labelsize(10);
  355.       o->callback((Fl_Callback*)key_cb);
  356.     }
  357.     { Fl_Button* o = new Fl_Button(240, 140, 20, 20, "/");
  358.       o->labelsize(10);
  359.       o->callback((Fl_Callback*)key_cb);
  360.     }
  361.     { Fl_Button* o = new Fl_Button(260, 140, 50, 20, "Shift");
  362.       o->labelsize(8);
  363.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Shift_R));
  364.       o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
  365.     }
  366.     { Fl_Button* o = new Fl_Button(345, 140, 20, 20, "@8->");
  367.       o->labeltype(FL_SYMBOL_LABEL);
  368.       o->labelsize(10);
  369.       o->labelcolor(47);
  370.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Up));
  371.     }
  372.     { Fl_Button* o = new Fl_Button(400, 140, 20, 20, "1");
  373.       o->labelsize(10);
  374.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'1'));
  375.     }
  376.     { Fl_Button* o = new Fl_Button(420, 140, 20, 20, "2");
  377.       o->labelsize(10);
  378.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'2'));
  379.     }
  380.     { Fl_Button* o = new Fl_Button(440, 140, 20, 20, "3");
  381.       o->labelsize(10);
  382.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'3'));
  383.     }
  384.     { Fl_Button* o = new Fl_Button(460, 140, 20, 40);
  385.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP_Enter));
  386.     }
  387.     { Fl_Button* o = new Fl_Button(15, 160, 30, 20, "Ctrl");
  388.       o->labelsize(8);
  389.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Control_L));
  390.       o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
  391.     }
  392.     { Fl_Button* o = new Fl_Button(45, 160, 30, 20, "Meta ");
  393.       o->labelsize(8);
  394.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Meta_L));
  395.     }
  396.     { Fl_Button* o = new Fl_Button(75, 160, 30, 20, "Alt ");
  397.       o->labelsize(8);
  398.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Alt_L));
  399.     }
  400.     { Fl_Button* o = new Fl_Button(105, 160, 85, 20);
  401.       o->labelsize(10);
  402.       o->callback((Fl_Callback*)key_cb, (void*)(' '));
  403.     }
  404.     { Fl_Button* o = new Fl_Button(190, 160, 30, 20, "Alt ");
  405.       o->labelsize(8);
  406.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Alt_R));
  407.     }
  408.     { Fl_Button* o = new Fl_Button(220, 160, 30, 20, "Meta ");
  409.       o->labelsize(8);
  410.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Meta_R));
  411.     }
  412.     { Fl_Button* o = new Fl_Button(250, 160, 30, 20, "Menu ");
  413.       o->labelsize(8);
  414.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Menu));
  415.     }
  416.     { Fl_Button* o = new Fl_Button(280, 160, 30, 20, "Ctrl");
  417.       o->labelsize(8);
  418.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Control_R));
  419.       o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
  420.     }
  421.     { Fl_Button* o = new Fl_Button(325, 160, 20, 20, "@4->");
  422.       o->labeltype(FL_SYMBOL_LABEL);
  423.       o->labelsize(10);
  424.       o->labelcolor(47);
  425.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Left));
  426.     }
  427.     { Fl_Button* o = new Fl_Button(345, 160, 20, 20, "@2->");
  428.       o->labeltype(FL_SYMBOL_LABEL);
  429.       o->labelsize(10);
  430.       o->labelcolor(47);
  431.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Down));
  432.     }
  433.     { Fl_Button* o = new Fl_Button(365, 160, 20, 20, "@6->");
  434.       o->labeltype(FL_SYMBOL_LABEL);
  435.       o->labelsize(10);
  436.       o->labelcolor(47);
  437.       o->callback((Fl_Callback*)key_cb, (void*)(FL_Right));
  438.     }
  439.     { Fl_Button* o = new Fl_Button(400, 160, 40, 20, "0");
  440.       o->labelsize(10);
  441.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'0'));
  442.       o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
  443.     }
  444.     { Fl_Button* o = new Fl_Button(440, 160, 20, 20, ".");
  445.       o->labelsize(10);
  446.       o->callback((Fl_Callback*)key_cb, (void*)(FL_KP+'.'));
  447.     }
  448.     { Fl_Button* o = new Fl_Button(400, 15, 20, 10, "shift ");
  449.       o->box(FL_THIN_UP_BOX);
  450.       o->selection_color(3);
  451.       o->labelsize(8);
  452.       o->callback((Fl_Callback*)shift_cb, (void*)(FL_SHIFT));
  453.     }
  454.     { Fl_Button* o = new Fl_Button(420, 15, 20, 10, "lock ");
  455.       o->box(FL_THIN_UP_BOX);
  456.       o->selection_color(3);
  457.       o->labelsize(8);
  458.       o->callback((Fl_Callback*)shift_cb, (void*)(FL_CAPS_LOCK));
  459.     }
  460.     { Fl_Button* o = new Fl_Button(440, 15, 20, 10, "ctrl");
  461.       o->box(FL_THIN_UP_BOX);
  462.       o->selection_color(3);
  463.       o->labelsize(8);
  464.       o->callback((Fl_Callback*)shift_cb, (void*)(FL_CTRL));
  465.     }
  466.     { Fl_Button* o = new Fl_Button(460, 15, 20, 10, "alt");
  467.       o->box(FL_THIN_UP_BOX);
  468.       o->selection_color(3);
  469.       o->labelsize(8);
  470.       o->callback((Fl_Callback*)shift_cb, (void*)(FL_ALT));
  471.     }
  472.     { Fl_Button* o = new Fl_Button(400, 25, 20, 10, "num");
  473.       o->box(FL_THIN_UP_BOX);
  474.       o->selection_color(3);
  475.       o->labelsize(8);
  476.       o->callback((Fl_Callback*)shift_cb, (void*)(FL_NUM_LOCK));
  477.     }
  478.     { Fl_Button* o = new Fl_Button(420, 25, 20, 10, "?");
  479.       o->box(FL_THIN_UP_BOX);
  480.       o->selection_color(3);
  481.       o->labelsize(8);
  482.       o->callback((Fl_Callback*)shift_cb, (void*)(0x20));
  483.     }
  484.     { Fl_Button* o = new Fl_Button(440, 25, 20, 10, "meta ");
  485.       o->box(FL_THIN_UP_BOX);
  486.       o->selection_color(3);
  487.       o->labelsize(8);
  488.       o->callback((Fl_Callback*)shift_cb, (void*)(FL_META));
  489.     }
  490.     { Fl_Button* o = new Fl_Button(460, 25, 20, 10, "sclk");
  491.       o->box(FL_THIN_UP_BOX);
  492.       o->selection_color(3);
  493.       o->labelsize(8);
  494.       o->callback((Fl_Callback*)shift_cb, (void*)(FL_SCROLL_LOCK));
  495.     }
  496.     { Fl_Button* o = new Fl_Button(400, 35, 20, 10, "b1");
  497.       o->box(FL_THIN_UP_BOX);
  498.       o->selection_color(3);
  499.       o->labelsize(8);
  500.       o->callback((Fl_Callback*)shift_cb, (void*)(FL_BUTTON1));
  501.     }
  502.     { Fl_Button* o = new Fl_Button(420, 35, 20, 10, "b2");
  503.       o->box(FL_THIN_UP_BOX);
  504.       o->selection_color(3);
  505.       o->labelsize(8);
  506.       o->callback((Fl_Callback*)shift_cb, (void*)(FL_BUTTON2));
  507.     }
  508.     { Fl_Button* o = new Fl_Button(440, 35, 20, 10, "b3");
  509.       o->box(FL_THIN_UP_BOX);
  510.       o->selection_color(3);
  511.       o->labelsize(8);
  512.       o->callback((Fl_Callback*)shift_cb, (void*)(FL_BUTTON3));
  513.     }
  514.     { Fl_Button* o = new Fl_Button(460, 35, 20, 10, "?");
  515.       o->box(FL_THIN_UP_BOX);
  516.       o->selection_color(3);
  517.       o->labelsize(8);
  518.       o->callback((Fl_Callback*)shift_cb, (void*)(0x800));
  519.     }
  520.     { Fl_Button* o = new Fl_Button(400, 45, 20, 10, "?");
  521.       o->box(FL_THIN_UP_BOX);
  522.       o->selection_color(3);
  523.       o->labelsize(8);
  524.       o->callback((Fl_Callback*)shift_cb, (void*)(0x1000));
  525.     }
  526.     { Fl_Button* o = new Fl_Button(420, 45, 20, 10, "?");
  527.       o->box(FL_THIN_UP_BOX);
  528.       o->selection_color(3);
  529.       o->labelsize(8);
  530.       o->callback((Fl_Callback*)shift_cb, (void*)(0x2000));
  531.     }
  532.     { Fl_Button* o = new Fl_Button(440, 45, 20, 10, "?");
  533.       o->box(FL_THIN_UP_BOX);
  534.       o->selection_color(3);
  535.       o->labelsize(8);
  536.       o->callback((Fl_Callback*)shift_cb, (void*)(0x4000));
  537.     }
  538.     { Fl_Button* o = new Fl_Button(460, 45, 20, 10, "?");
  539.       o->box(FL_THIN_UP_BOX);
  540.       o->selection_color(3);
  541.       o->labelsize(8);
  542.       o->callback((Fl_Callback*)shift_cb, (void*)(0x8000));
  543.     }
  544.     { Fl_Output* o = key_output = new Fl_Output(15, 15, 170, 30, "Fl::event_key():");
  545.       o->labelsize(8);
  546.       o->align(FL_ALIGN_TOP_LEFT);
  547.     }
  548.     { Fl_Box* o = new Fl_Box(395, 15, 85, 40, "Fl::event_state():");
  549.       o->labelsize(8);
  550.       o->align(FL_ALIGN_TOP_LEFT);
  551.     }
  552.     { Fl_Output* o = text_output = new Fl_Output(195, 15, 190, 30, "Fl::event_text():");
  553.       o->labelsize(8);
  554.       o->align(FL_ALIGN_TOP_LEFT);
  555.     }
  556.     o->end();
  557.   }
  558.   return w;
  559. }
  560.